home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d21 / dvglue10.arc / TVSHADOW.C < prev    next >
C/C++ Source or Header  |  1988-08-13  |  2KB  |  53 lines

  1. /*=======================================================*/
  2. /*  TVSHADOW.C                                           */
  3. /*     functions dealing with shadow buffer              */
  4. /*                                                       */
  5. /*  (c) Copyright 1988 Ralf Brown  All Rights Reserved   */
  6. /*  May be freely copied for noncommercial use, so long  */
  7. /*  as this copyright notice remains intact, and any     */
  8. /*  changes are marked in the comment blocks preceding   */
  9. /*  functions.                                           */
  10. /*=======================================================*/
  11.  
  12. #include "tvapi.h"
  13.  
  14. /*======================================================*/
  15. /* TVshadow  get address of shadow buffer               */
  16. /*   Ralf Brown 4/3/88                                  */
  17. /*======================================================*/
  18.  
  19. void far *TVshadow(void)
  20. {
  21.    unsigned screen_seg ;
  22.  
  23.    _AH = 15 ; /* get video mode */
  24.    geninterrupt(0x10) ;
  25.    if (_AL == 7)
  26.       screen_seg = 0xB000 ;
  27.    else
  28.       screen_seg = 0xB800 ;
  29.    _ES = screen_seg ;
  30.    _DI = 0 ;
  31.    _AH = 0xFE ;
  32.    geninterrupt(0x10) ;
  33.    return MK_FP(_ES,_DI) ;
  34. }
  35.  
  36. /*======================================================*/
  37. /* TVupdate  update portion of physical window          */
  38. /*   Ralf Brown 4/3/88                                  */
  39. /*======================================================*/
  40.  
  41. void TVupdate(void far *first, WORD count)
  42. {
  43.    if (count)
  44.       {
  45.       _ES = FP_SEG(first) ;
  46.       _DI = FP_OFF(first) ;
  47.       _CX = count ;
  48.       _AH = 0xFF ;
  49.       geninterrupt(0x10) ;
  50.       }
  51. }
  52.  
  53.